﻿using System;
using System.Collections.Generic;
using RecruitmentAgency.Models.DataTypes;

namespace RecruitmentAgency.Models.DataProviders
{
    /// <summary>
    /// Interface defining the mothods for the Exception database access
    /// </summary>
    public interface IExceptionDataProvider
    {
        /// <summary>
        /// Returns a list of exceptions according to the parameters specified
        /// </summary>
        /// <param name="applName">The application where the Exception occurred</param>
        /// <param name="beginDate">The starting date for the exception search</param>
        /// <param name="endDate">The end date for the exception search</param>
        /// <param name="msg">The message contained in the Exception</param>
        /// <param name="targetSite">The target site where the Exception occurred</param>
        /// <param name="refer">The referral page respect where the Exception occurred</param>
        /// <param name="exceptionPath">The application path of the Exception</param>
        /// <returns>Returns a list of Exceptions</returns>
        List<ExceptionLog> SearchExceptions(string applName, DateTime? beginDate, DateTime? endDate,string msg, string targetSite, string refer,string exceptionPath);


        /// <summary>
        /// Delete all the exception from the exception log table
        /// </summary>
        /// <returns>Returns zero if the delete was successfully</returns>
        int DeleteAllExceptions();
    }
}